Unity Input System হল Unity-এর একটি শক্তিশালী ফিচার যা খেলোয়াড়ের ইনপুট (যেমন কীবোর্ড, মাউস, গেমপ্যাড, এবং টাচ স্ক্রীন) পরিচালনা করার জন্য ব্যবহৃত হয়। এটি একটি নমনীয় এবং উন্নত ইনপুট সিস্টেম যা বিভিন্ন ডিভাইসের সাথে কাজ করে এবং গেম ডেভেলপমেন্টের সময় ইনপুটের জটিলতা সহজ করে।
Unity Input System এর প্রধান বৈশিষ্ট্য
Multiple Device Support: Unity Input System একাধিক ইনপুট ডিভাইসের সমর্থন করে, যেমন কীবোর্ড, মাউস, গেম কন্ট্রোলার, এবং টাচ স্ক্রীন।
Action-based Input: ইনপুট অ্যাকশনগুলি তৈরি করে আপনি নির্দিষ্ট ইনপুটের জন্য প্রয়োজনীয় ফাংশন সংজ্ঞায়িত করতে পারেন। এই পদ্ধতি বিভিন্ন ইনপুটের জন্য কোড লেখা সহজ করে।
Customization: ইনপুট মাপিং এবং সেটিংস কাস্টমাইজ করার জন্য একটি ব্যবহারকারী-বান্ধব UI প্রদান করে।
Event-driven: ইনপুট সিস্টেমে ইভেন্ট-ভিত্তিক আর্কিটেকচার রয়েছে, যা ইনপুটে পরিবর্তন ঘটলে সঠিক ফাংশনকে কল করতে সহায়তা করে।
Unity Input System সেটআপ করা
1. ইনপুট সিস্টেম প্যাকেজ ইনস্টল করা
- Unity Editor-এ যান এবং Window > Package Manager খুলুন।
- তালিকা থেকে
Input Systemপ্যাকেজটি খুঁজে বের করুন এবং ইনস্টল করুন।
2. ইনপুট অ্যাকশন তৈরি করা
- Assets > Create > Input Actions নির্বাচন করুন এবং একটি নতুন ইনপুট অ্যাকশন ফাইল তৈরি করুন।
- ফাইলটি ডাবল ক্লিক করে ইনপুট অ্যাকশন উইন্ডো খুলুন।
- নতুন অ্যাকশন তৈরি করুন, যেমন
Move,Jump, এবংFireএবং তাদের সাথে কীগুলি যুক্ত করুন।
C# স্ক্রিপ্টে ইনপুট ব্যবহার করা
- Input Action Asset যোগ করা: একটি Game Object (যেমন Player) নির্বাচন করুন এবং একটি নতুন C# স্ক্রিপ্ট যুক্ত করুন (যেমন
PlayerController)। - Input System Reference: ইনপুট অ্যাকশন অ্যাসেটকে স্ক্রিপ্টে রেফারেন্স করুন।
উদাহরণ: ইনপুট সিস্টেম ব্যবহার করে ক্যারেক্টার মুভমেন্ট
using UnityEngine;
using UnityEngine.InputSystem;
public class PlayerController : MonoBehaviour
{
private Vector2 moveInput; // Store movement input
public float speed = 5.0f; // Movement speed
// Called when the player moves
public void OnMove(InputAction.CallbackContext context)
{
moveInput = context.ReadValue<Vector2>(); // Get input value
}
void Update()
{
// Move the player based on input
Vector3 movement = new Vector3(moveInput.x, 0, moveInput.y) * speed * Time.deltaTime;
transform.Translate(movement);
}
}
UI উপাদানগুলির জন্য ইনপুট ব্যবস্থাপনা
ইনপুট সিস্টেম UI উপাদানের সাথে ইন্টারঅ্যাকশন পরিচালনার জন্যও ব্যবহৃত হয়, যেমন বাটন ক্লিক করা বা ইনপুট ফিল্ডে লেখা।
উদাহরণ: UI Button Click
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class UIButtonManager : MonoBehaviour
{
public Button myButton; // Reference to the button
void Start()
{
myButton.onClick.AddListener(OnButtonClick); // Add listener for button click
}
void OnButtonClick()
{
Debug.Log("Button clicked!"); // Action on button click
}
}
সারসংক্ষেপ
Unity Input System গেম ডেভেলপমেন্টের জন্য একটি শক্তিশালী এবং নমনীয় ইনপুট ব্যবস্থা। এটি একাধিক ডিভাইস সমর্থন করে, অ্যাকশন ভিত্তিক ইনপুট তৈরি করে, এবং কাস্টমাইজেশন ও ইভেন্ট-ভিত্তিক কার্যকারিতা সরবরাহ করে। Unity-তে ইনপুট সিস্টেম ব্যবহার করে ডেভেলপাররা খেলোয়াড়ের ইনপুটকে দক্ষতার সাথে পরিচালনা করতে পারেন, যা একটি স্বচ্ছন্দ এবং ইন্টারেক্টিভ গেমিং অভিজ্ঞতা নিশ্চিত করে।
Read more